Web applications are ubiquitous in today's networked computing culture, and are used for many purposes including webmail, online auctions, discussion boards, etc. Generally speaking, web applications involve a request generated at a client computing device (e.g., via a web browser) and executed at a server computing device, with the results of the request returned to the client computing device. The server often accesses a database to execute the client request. Moreover, it is well known that a first server receiving a client request may redirect the request to a second server. The second server executes the request and communicates the results back to the client, without communicating back through the first server.
One particular example of a web application is the Contractor Sourcing Application (CSA) developed by International Business Machines Corporation of Armonk, N.Y. CSA is an HTTP-based application that allows a user to locate candidates for job openings. In the CSA web application, a common server provides a URL for a user to log into the CSA web application. When the user's ID and password are accepted by the common server, the common server uses the well known and commonly used “redirect” methodology to pass the user's HTTP request to one of many remote servers. The remote server to which the request was redirected accesses a database in response to the HTTP request, and communicates results of the request to the user. In known redirect schemes, the remote server communicates substantially directly with the client after the remote server receives the redirected request, such that the common server does not act as an intermediary for communication between the remote server and the client. The common server and remote server/database architecture is efficient at least for the reason that each remote database may be kept relatively small, which reduces computing time for the required database operations.
Service oriented architecture (SOA) is a computing architecture in which services (e.g., web services) are made available for use by applications. Typically, web services comprise programming functions (i.e., software components) and applications comprise programs that call the web services and receive data results from the called web services. A particular example of a web service is CSAWS (CSA Web Service), which allows a user that is already logged into a first application to generate a CSA request without having to log separately into the CSA application. CSAWS is based upon the known Simple Object Access Protocol (also referred to as Service Oriented Architecture Protocol, or simply SOAP), and generates a CSA request as a SOAP message/request.
However, while known redirect technology works well with HTTP-based applications, it is common knowledge that existing redirect technology does not function with SOAP messages/requests. That is to say, a common server that receives a SOAP request from a client cannot simply redirect the SOAP request to a remote server, because the redirect operation does not provide such functionality. This is because SOAP and HTTP are different protocols, and redirect is designed to function with HTTP but not SOAP. As such, a CSA common server that receives a SOAP request cannot use redirect technology to pass the request to one of the remote servers.
Accordingly, there exists a need in the art to overcome the deficiencies and limitations described hereinabove.